package com.teach;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapper;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
@EnableZuulProxy
public class ZuulApplication {

	public static void main(String[] args) {
		SpringApplication.run(ZuulApplication.class, args);
	}

	 /**
	   * -Zuul使用正则表达式指定路由规则
	   * -您可以使用regexmapper提供serviceId和路由之间的约定。它使用名为组的正则表达式从serviceId中提取变量，并将其注入到路由模式中。
	   * @return
	   */
	  @Bean
	  public PatternServiceRouteMapper serviceRouteMapper() {
	      return new PatternServiceRouteMapper(
	          "(?<name>^.+)-(?<version>v.+$)",
	          "${version}/${name}");
	  }

}
